home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 September / PCWorld_2008-09_cd.bin / v cisle / sadanastroju / delicious_bookmarks-2.0.64-fx.xpi / chrome / deliciousBookmarks.jar / content / options.js < prev    next >
Encoding:
Text File  |  2008-06-19  |  20.9 KB  |  512 lines

  1. var gYBLoginWindow = null;
  2. var gYBCreateWindow = null;
  3. var _ybookmark_options_inited = false;
  4. var YBobservService = Components.classes["@mozilla.org/observer-service;1"].
  5.                       getService( Components.interfaces.nsIObserverService);
  6. var gKeyMapChanged = false;  
  7.  
  8. var YBcookieObserver = {
  9.   observe: function(subject, topic, data ) {
  10.     if (data == "added" || data == "changed" || data == "deleted" || data=="loggedin" ) {
  11.       try {
  12.           if (gYBLoginWindow) {
  13.             gYBLoginWindow.close();
  14.             gYBLoginWindow = null;
  15.           }
  16.           if (gYBCreateWindow) {
  17.             gYBCreateWindow.close();
  18.             gYBCreateWindow = null;
  19.           }
  20.           if(ybookmarksUtils.getExtensionMode() == YB_EXTENSION_MODE_CLASSIC)  {        
  21.             //ybookmarks_ClassicOptions_UpdateAccountUserId();
  22.           } else {
  23.             ybookmarks_Options_UpdateAccountUserId();
  24.           }
  25.       } catch ( e ) {
  26.         // ignore exception
  27.       }
  28.     }
  29.   }
  30. };
  31.  
  32. var YBSyncFinishObserver = {
  33.   observe: function(subject, topic, data ) {
  34.     if (topic == "ybookmark.syncDone" && (data == "all-done" || data == "sync-error" || data == "sync-aborted")) {
  35.       ( document.getElementById( "desc_syncStatus" ) ).hidden = true;
  36.     }
  37.   }
  38. };
  39.  
  40.  
  41. //This function pops up the restart dialog on keymap pref change.
  42. function toggleKepMapStatus()
  43. {
  44.     if(gKeyMapChanged == true) {
  45.         gKeyMapChanged = false;
  46.     } else {
  47.         gKeyMapChanged = true;
  48.         //This is the variable hack to pass data between a dialog and its parent.
  49.         //reqRestart dialog sets access _userSelection using window.opener._userSelection
  50.         _userSelection = "cancel";        
  51.         window.openDialog( "chrome://ybookmarks/content/reqRestart.xul",
  52.                        "reqRestart",
  53.                        "chrome,dialog,centerscreen,modal,resizable=no" );
  54.         if(_userSelection == "restart") {  
  55.            _userSelection = "cancel";                 
  56.            var prefWin = document.getElementById("ybookmarks_OptionsWindow");
  57.            //acceptDialog call stores all the preferences.
  58.            if(prefWin) {               
  59.                setTimeout ( function() {prefWin.acceptDialog();ybookmarksUtils._quit(true); }, 0);
  60.            }
  61.         }        
  62.     }
  63. }
  64.  
  65.  
  66. function ybookmarks_InitClassicOptions() {
  67.     try {
  68.        //Hide standard tabs
  69.        var hideList = [ "ybPrefBookmarksGeneralTab",
  70.                         "ybPrefBookmarksAdvancedTab",
  71.                       ];            
  72.        for (el in hideList) {
  73.            var elem = document.getElementById(hideList[el]);
  74.            if(elem) {                    
  75.             elem.hidden = true;
  76.            }
  77.        }
  78.        //Show classic tab
  79.        var elem = document.getElementById("ybPrefBookmarksClassicTab");
  80.        if(elem) {                    
  81.         elem.hidden = false;
  82.        }       
  83.        //Set focus on the correct tab       
  84.        var tab_box = document.getElementById("ybPrefBookmarksTabBox");
  85.        var classicTab = document.getElementById("ybPrefBookmarksClassicTab");
  86.        var classicPanel = document.getElementById("ybPrefClassicTabPanel");
  87.        tab_box.selectedTab = classicTab;
  88.        tab_box.selectedPanel = classicPanel;
  89.        
  90.        /*
  91.        var serviceName = deliciousService.getServiceName();
  92.        var strings = document.getElementById( "ybookmarks-option-strings" );
  93.        var createDesc = document.getElementById( "ybookmarks-account-create-classic" );
  94.        createDesc.setAttribute( "value",
  95.                                   strings.getString( "extensions.ybookmarks.create" )
  96.                               );
  97.        YBobservService.addObserver( YBcookieObserver, "ybookmark.userChanged", false );                           
  98.        ybookmarks_ClassicOptions_UpdateAccountUserId();     
  99.        document.getElementById ( "ybookmarks-account-login-classic" ).addEventListener ( "click", yb_options_openLoginWindow, false );
  100.        document.getElementById ( "ybookmarks-account-create-classic" ).addEventListener ( "click", yb_options_openCreateUserWindow, false );              
  101.        window.addEventListener("unload", ybookmarks_CleanupOptions, false);
  102.        */
  103.        _ybookmark_options_inited = true;
  104.     } catch(e) {
  105.         yDebug.print("ybookmarks_InitClassicOptions()" + e );
  106.     }   
  107. }
  108.  
  109. /*
  110.  * This function gets called on prefpane's onload.
  111.  */
  112.  
  113. function ybookmarks_InitOptions() {
  114. try {
  115.   if(ybookmarksUtils.getExtensionMode() == YB_EXTENSION_MODE_CLASSIC)  {       
  116.     ybookmarks_InitClassicOptions();
  117.     return;
  118.   }  
  119.   var serviceName = deliciousService.getServiceName();
  120.   var strings = document.getElementById( "ybookmarks-option-strings" );
  121.  
  122.   //var accountDesc = document.getElementById( "ybookmarks-account-desc" );
  123.  
  124.   var createDesc = document.getElementById( "ybookmarks-account-create" );
  125.  
  126. /*  ybookmarks_removeAllChildren ( accountDesc );*/
  127.  
  128.   /*accountDesc.appendChild ( document.createTextNode (
  129.                               bundle.getString( descKey )
  130.                             )
  131.                           );
  132. */
  133.   createDesc.setAttribute ( "value",
  134.                               strings.getString( "extensions.ybookmarks.create" )
  135.                           );
  136.  
  137.   YBobservService.addObserver( YBcookieObserver, "ybookmark.userChanged", false ); 
  138.   YBobservService.addObserver( YBSyncFinishObserver, "ybookmark.syncDone", false ); 
  139.  
  140.   // update the username in options
  141.   ybookmarks_Options_UpdateAccountUserId();  
  142.   //Disable the switch mode buttton.
  143.   var pref = Components.classes["@mozilla.org/preferences-service;1"].
  144.              getService(Components.interfaces.nsIPrefBranch);
  145.   try {
  146.       var modeChange = pref.getCharPref("extensions.ybookmarks@yahoo.engine.set.mode");
  147.       if(modeChange == YB_EXTENSION_MODE_CLASSIC) {
  148.           var switchButton = document.getElementById("btn_classic_mode");
  149.           switchButton.disabled = true;
  150.       }
  151.   } catch(e) {}
  152.  
  153.   document.getElementById ( "ybookmarks-account-login" ).addEventListener ( "click", yb_options_openLoginWindow, false );
  154.   document.getElementById ( "ybookmarks-account-create" ).addEventListener ( "click", yb_options_openCreateUserWindow, false );
  155.  
  156.   window.addEventListener("unload", ybookmarks_CleanupOptions, false);
  157.   
  158.   var prefs = Components.classes["@mozilla.org/preferences-service;1"]
  159.             .getService(Components.interfaces.nsIPrefBranch);
  160.   var debug = false;
  161.   try {
  162.     debug = prefs.getBoolPref("extensions.ybookmarks@yahoo.debug");
  163.   } catch (e) {}
  164.   
  165.   if (debug) {
  166.     var toolbarTab = document.getElementById("ybPrefBookmarksToolbarTab");
  167.     var debugTab = document.getElementById("ybPrefBookmarksDebugTab");
  168.     toolbarTab.hidden = false;
  169.     debugTab.hidden = false;
  170.   }
  171.   
  172.   ybookmarks_Options_onTagsViewOverflowEnable(document.getElementById("pref-ybookmarks-tagsview-overflow-enable-checkbox"));
  173.   ybookmarks_Options_onOriginalUIHide(document.getElementById("pref-ybookmarks-original-ui-hide-checkbox"));
  174.   
  175.   //Hack for Leopard bug : crash on hiding bookmarks menu.
  176.   if(ybookmarksUtils.isOSXLeopard()) {    
  177.     document.getElementById("pref-ybookmarks-original-ui-hide-checkbox").hidden = true;
  178.     document.getElementById("pref-ybookmarks-original-keybindings-remap-checkbox").hidden = true;
  179.     document.getElementById("pref-ybookmarks-original-keybindings-remap-checkbox-leopard").hidden = false;
  180.   }
  181.  
  182.   _ybookmark_options_inited = true;
  183.   
  184. } catch (e) {
  185.   yDebug.print("ybookmarks_InitOptions()" + e );
  186. }
  187. }
  188.  
  189. function ybookmarks_Options_UpdateAccountUserId() {
  190.   try {
  191.       var strings = document.getElementById( "ybookmarks-option-strings" );
  192.       var login = document.getElementById( "ybookmarks-account-login" );
  193.     var userPre = document.getElementById("ybookmarks-account-user-pre");
  194.     var userPost = document.getElementById("ybookmarks-account-user-post");
  195.     var user = document.getElementById("ybookmarks-account-user");
  196.  
  197.       var username = deliciousService.getUserName();
  198.       var loginString;
  199.       if ( username == null ) {
  200.         loginString = strings.getString("extensions.ybookmarks.login");
  201.         userPre.hidden = true;
  202.           userPost.hidden = true;
  203.           user.hidden = true;
  204.           
  205.           var syncButton1 = document.getElementById("btn_syncLink");
  206.         syncButton1.setAttribute("disabled","true");
  207.       
  208.           /*    var bundle = document.getElementById( "ybookmarks-option-strings" );
  209.         username = bundle.getString( "extensions.ybookmarks.not.logged.in" );
  210.     */  } else {
  211.         var userPreString = strings.getString("extensions.ybookmarks.user.pre");
  212.         var userPostString = strings.getString("extensions.ybookmarks.user.post");
  213.         userPre.hidden = false;
  214.         
  215.         var syncButton1 = document.getElementById("btn_syncLink");
  216.         syncButton1.setAttribute("disabled","false");
  217.         
  218.         userPost.hidden = false;
  219.         user.hidden = false;
  220.         user.setAttribute("value", username);
  221.         user.setAttribute("onclick", "ybookmarksUtils.openLinkToNewTab(deliciousService.getUrl('"+username+"'))");
  222.         userPre.setAttribute("value", userPreString);
  223.         userPost.setAttribute("value", userPostString);
  224.     
  225.         loginString = strings.getString("extensions.ybookmarks.login.diff");
  226.       }
  227.  
  228.     login.setAttribute ("value", loginString);
  229.  
  230.       var currentUser = document.getElementById( "ybookmarks-account-user" );
  231.       ybookmarks_removeAllChildren( currentUser );
  232.       currentUser.appendChild(document.createTextNode(loginString));
  233.       /*
  234.       var userKey = "extensions.ybookmarks." + deliciousService.getServiceName() + ".user";
  235.       currentUser.appendChild ( document.createTextNode (
  236.                                   bundle.getFormattedString( userKey, [ username ] )
  237.                                 )
  238.                               );*/
  239.   } catch (e) {
  240.     yDebug.print("ybookmarks_Options_UpdateAccountUserId:*******************" + e);
  241.   }
  242.   
  243. }
  244.  
  245. function ybookmarks_ClassicOptions_UpdateAccountUserId() {
  246.   try {
  247.       var strings = document.getElementById( "ybookmarks-option-strings" );
  248.     var login = document.getElementById( "ybookmarks-account-login-classic" );
  249.     var userPre = document.getElementById("ybookmarks-account-user-pre-classic");
  250.     var userPost = document.getElementById("ybookmarks-account-user-post-classic");
  251.     var user = document.getElementById("ybookmarks-account-user-classic");
  252.  
  253.       var username = deliciousService.getUserName();
  254.       var loginString;
  255.       if ( username == null ) {
  256.         loginString = strings.getString("extensions.ybookmarks.login");
  257.         userPre.hidden = true;
  258.           userPost.hidden = true;
  259.           user.hidden = true;
  260.           login.hidden = false;
  261.           
  262.       } else {
  263.         var userPreString = strings.getString("extensions.ybookmarks.user.pre");
  264.         var userPostString = strings.getString("extensions.ybookmarks.user.post");
  265.         userPre.hidden = false;
  266.         userPost.hidden = false;
  267.         user.hidden = false;
  268.         user.setAttribute("value", username);
  269.         user.setAttribute("onclick", "ybookmarksUtils.openLinkToNewTab(deliciousService.getUrl('"+username+"'))");
  270.         userPre.setAttribute("value", userPreString);
  271.         userPost.setAttribute("value", userPostString);
  272.     
  273.         loginString = strings.getString("extensions.ybookmarks.login.diff");
  274.       }
  275.  
  276.       login.setAttribute ("value", loginString);
  277.  
  278.       var currentUser = document.getElementById( "ybookmarks-account-user-classic" );
  279.       ybookmarks_removeAllChildren( currentUser );
  280.       currentUser.appendChild(document.createTextNode(loginString));      
  281.   } catch (e) {
  282.     yDebug.print("ybookmarks_ClassicOptions_UpdateAccountUserId:*******************" + e);
  283.   }
  284.   
  285. }
  286.  
  287. function ybookmarks_CleanupOptions() {
  288.  
  289.   // remove 
  290.   try {
  291.     YBobservService.removeObserver( YBcookieObserver, "ybookmark.userChanged" );
  292.   } catch ( e ) {
  293.     // ignore exception
  294.   }
  295.   
  296.   try {
  297.     YBobservService.removeObserver( YBSyncFinishObserver, "ybookmark.syncDone" );
  298.   } catch ( e ) {
  299.       // ignore exception
  300.   }
  301.  
  302.   if (gYBLoginWindow) {
  303.     gYBLoginWindow.close();
  304.     gYBLoginWindow = null;
  305.   }
  306.  
  307.   if (gYBCreateWindow) {
  308.     gYBCreateWindow.close();
  309.     gYBCreateWindow = null;
  310.   }
  311.   
  312.   if(ybookmarksUtils.getExtensionMode() == YB_EXTENSION_MODE_CLASSIC)  {              
  313.       document.getElementById ( "ybookmarks-account-login-classic" ).removeEventListener ( "click", yb_options_openLoginWindow, false );
  314.       document.getElementById ( "ybookmarks-account-create-classic" ).removeEventListener ( "click", yb_options_openCreateUserWindow, false );
  315.   } else {
  316.       document.getElementById ( "ybookmarks-account-login" ).removeEventListener ( "click", yb_options_openLoginWindow, false );
  317.       document.getElementById ( "ybookmarks-account-create" ).removeEventListener ( "click", yb_options_openCreateUserWindow, false );  
  318.   }
  319.  
  320.   YBobservService = null;  
  321. }
  322.  
  323. function ybookmarks_removeAllChildren(node) {
  324.   while ( node.firstChild ) { node.removeChild ( node.firstChild ); }
  325. }
  326.  
  327. function yb_options_openLoginWindow() {
  328.   if (gYBLoginWindow && gYBLoginWindow.closed) {
  329.     gYBLoginWindow = null;
  330.   }
  331.   if (!gYBLoginWindow)
  332.     gYBLoginWindow = ybookmarksUtils.openWindow ( deliciousService.getLoginUrl(), "Login into Social bookmarking service", 
  333.                                              900, 600 
  334.                                            );
  335.   else  {
  336.     gYBLoginWindow.location.href = deliciousService.getLoginUrl();
  337.   }
  338.   gYBLoginWindow.focus();
  339. }
  340.  
  341. function yb_options_openCreateUserWindow() {
  342.   if (gYBCreateWindow && gYBCreateWindow.closed) {
  343.     gYBCreateWindow = null;
  344.   }
  345.   if (!gYBCreateWindow)
  346.     gYBCreateWindow = ybookmarksUtils.openWindow ( deliciousService.getCreateUserUrl(), "Create New User",
  347.                                              810, 600 
  348.                                            );
  349.   else  {
  350.     gYBCreateWindow.location.href = deliciousService.getCreateUserUrl();
  351.   }
  352.   gYBCreateWindow.focus();
  353. }
  354.  
  355. function ybookmarks_forceRefresh() {
  356.   YBobservService.notifyObservers(null, "ybookmark.forceRefresh", "");
  357.   ( document.getElementById( "desc_syncStatus" ) ).hidden = false;
  358. }
  359.  
  360. function ybookmarks_sync() {
  361.     var syncService = Components.classes["@mozilla.org/ybookmarks-sync-service;1"].
  362.                            getService(Components.interfaces.nsIYBookmarkSyncService);
  363.     syncService.sync(false);
  364. }
  365.  
  366. function ybookmarks_Options_showHelpPage() {
  367.   window.close();
  368.   ybookmarksUtils.openLinkToNewTab( deliciousService.getUrl("help"), "current" );
  369. }
  370.  
  371. function ybookmarks_Options_openLog() {
  372.   window.close();
  373.  
  374.    var dirService = 
  375.       ( Components.classes[ "@mozilla.org/file/directory_service;1" ] ).getService( 
  376.          Components.interfaces.nsIProperties );
  377.    var logFile = 
  378.       dirService.get( "ProfD", Components.interfaces.nsILocalFile );
  379.    logFile.append( "ybookmarks@yahoo.log" );
  380.  
  381.    openUILinkIn( "file://" + logFile.path, "tab" );
  382. }
  383.  
  384. function ybookmarks_Options_onTagsViewOverflowEnable(enabled) {
  385.   var elmts = 
  386.     ["pref-ybookmarks-tagsview-overflow-removefromtoplevel-checkbox", 
  387.       "pref-ybookmarks-tagsview-overflow-level-box", "pref-ybookmarks-tagsview-overflow-level-label",
  388.       "pref-ybookmarks-tagsview-overflow-spillover-max-box", "pref-ybookmarks-tagsview-overflow-spillover-max-label",
  389.       "pref-ybookmarks-tagsview-overflow-spillover-minsize-box", "pref-ybookmarks-tagsview-overflow-spillover-minsize-label"];
  390.       
  391.       for (var i=0; i < elmts.length; i++) {
  392.       document.getElementById(elmts[i]).disabled = !enabled.checked;
  393.     }
  394.   
  395. }
  396.  
  397. function ybookmarks_Options_overflowOnRestoreDefaults() {
  398.      var prefs = ["pref-ybookmarks-tagsview-overflow-enable",
  399.                               "pref-ybookmarks-tagsview-overflow-removefromtoplevel",             
  400.                           "pref-ybookmarks-tagsview-overflow-level", 
  401.                           "pref-ybookmarks-tagsview-overflow-spillover-max",     
  402.                           "pref-ybookmarks-tagsview-overflow-spillover-minsize"];
  403.     for (var i=0; i < prefs.length; i++) {
  404.       var pref = document.getElementById(prefs[i]);
  405.       if (pref.hasUserValue) {
  406.         pref.reset();
  407.       }
  408.     }
  409.     ybookmarks_Options_onTagsViewOverflowEnable(document.getElementById("pref-ybookmarks-tagsview-overflow-enable-checkbox"));
  410.  
  411. };
  412.  
  413. function ybookmarks_Options_onOriginalUIHide(hide) {
  414.   document.getElementById("pref-ybookmarks-original-keybindings-remap-checkbox").disabled = hide.checked;
  415. }
  416.  
  417. function showEnableTagometerDialog(){
  418.  
  419.     var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService);
  420.     var strings = document.getElementById( "ybookmarks-option-strings" ); 
  421.     var dialogTitleStr=strings.getString("extensions.ybookmarks.statusbaricons.tagometer.dialogTitle");
  422.      var dialogInfoStr=strings.getString("extensions.ybookmarks.statusbaricons.tagometer.dialogInfo");
  423.      var enableButtonStr=strings.getString("extensions.ybookmarks.statusbaricons.tagometer.dialogButton1");
  424.      var disableButtonStr=strings.getString("extensions.ybookmarks.statusbaricons.tagometer.dialogButton2");
  425.     
  426.     // set the buttons that will appear on the dialog. It should be a set of constants multiplied by button position constants. In this case, 2 buttons appear.
  427.     var flags=promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_0 + promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_1;
  428.  
  429.     // Display the dialog box. The flags set above are passed as the fourth argument. 
  430.     // The next three arguments are custom labels used for the buttons, which are used if BUTTON_TITLE_IS_STRING is assigned to a particular button.
  431.     // The last two arguments are for an optional check box.
  432.       var button_number = promptService.confirmEx(window,dialogTitleStr,
  433.                           dialogInfoStr,flags,enableButtonStr,disableButtonStr,null, null, {});      
  434.     return button_number;
  435. }
  436.  
  437. function confirmEnableTagometer()
  438. {
  439.  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
  440.          .getService(Components.interfaces.nsIPrefBranch);
  441.  var tagometerCheckbox = document.getElementById("pref-ybookmarks-statusbaricons-includetagometer-checkbox");
  442.  var checkedTagometer = tagometerCheckbox.getAttribute("checked");
  443.  
  444.   if (checkedTagometer=="true") {// tagometer was not checked, user checks the tagometer
  445.     var button_number = showEnableTagometerDialog();
  446.     if(button_number == 1) { // user selected the disable tagometer button
  447.         tagometerCheckbox.setAttribute("checked","false");
  448.      }
  449.   }
  450. }
  451.  
  452. function showEnableCookiesDialog(){
  453.     var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
  454.                         .getService(Components.interfaces.nsIPromptService);
  455.  
  456.     var strings = document.getElementById( "ybookmarks-option-strings" ); 
  457.     var dialogTitleStr=strings.getString("extensions.ybookmarks.cookies.dialogTitle");
  458.      var dialogInfoStr=strings.getString("extensions.ybookmarks.cookies.dialogInfo");
  459.      var enableButtonStr=strings.getString("extensions.ybookmarks.cookies.dialogButton1");
  460.      var disableButtonStr=strings.getString("extensions.ybookmarks.cookies.dialogButton2");
  461.     
  462.     // set the buttons that will appear on the dialog. It should be a set of constants multiplied by button position constants. In this case, 2 buttons appear.
  463.     var flags=promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_0 + promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_1;
  464.  
  465.     // Display the dialog box. The flags set above are passed as the fourth argument. 
  466.     // The next three arguments are custom labels used for the buttons, which are used if BUTTON_TITLE_IS_STRING is assigned to a particular button.
  467.     // The last two arguments are for an optional check box.
  468.       var button_number = promptService.confirmEx(window,dialogTitleStr,
  469.                           dialogInfoStr,flags,enableButtonStr,disableButtonStr,null, null, {}); 
  470.     return button_number;
  471. }
  472.  
  473. function confirmEnableCookies()
  474. {
  475.  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
  476.                              .getService(Components.interfaces.nsIPrefBranch);
  477.  var pm = Components.classes["@mozilla.org/permissionmanager;1"]
  478.                             .getService(Components.interfaces.nsIPermissionManager);             
  479.  //get current pref of cookies.
  480.  var  cookiePref = prefs.getIntPref("network.cookie.cookieBehavior");
  481.  var prefDomain = ybookmarksUtils.getPrefDomain(); 
  482.  prefDomain = prefDomain.substring(1, prefDomain.length);
  483.  
  484.   if (cookiePref == 2) {
  485.         // This section is entered if cookies are disabled
  486.         
  487.         /**
  488.          * check if domain is added as exception from permission manager
  489.          */
  490.         var exceptionFound = false;
  491.         var enumerator = pm.enumerator;
  492.         while (enumerator.hasMoreElements()) {
  493.           var nextPermission = enumerator.getNext().QueryInterface(Components.interfaces.nsIPermission);
  494.           if(nextPermission.host == prefDomain && nextPermission.type == "cookie") {
  495.             exceptionFound = nextPermission.host;
  496.             break;
  497.           }
  498.         }
  499.         
  500.         if(exceptionFound) return;
  501.         
  502.         /**
  503.          * show enable cookie dialog
  504.          */
  505.         var button_number = showEnableCookiesDialog();
  506.         if(button_number == 0) { 
  507.             // user selected the "Enable Cookies" button
  508.                 prefs.setIntPref("network.cookie.cookieBehavior","0");
  509.     }
  510.   }
  511. }
  512.